Improve bookmark list rendering by controlling the visibility of the
authorAnders Carlsson <andersca@gnome.org>
Tue, 24 Feb 2004 00:15:23 +0000 (00:15 +0000)
committerAnders Carlsson <andersca@src.gnome.org>
Tue, 24 Feb 2004 00:15:23 +0000 (00:15 +0000)
2004-02-24  Anders Carlsson  <andersca@gnome.org>

* gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
(shortcuts_remove_rows), (shortcuts_append_bookmarks),
(create_shortcuts_model), (shortcuts_tree_create),
(gtk_file_chooser_default_remove_shortcut_folder):
Improve bookmark list rendering by controlling the visibility
of the pixbuf cell so that it will be invisible for the separator
row, also use a list store instead of a tree store for the model
so we won't get unnecessary space for an expander.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkfilechooserdefault.c

index 395e6b3d057551b44afdbe62b6a2b403e945149a..1ed5bf681e3f979181f706ccec2edd48e341c3fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-02-24  Anders Carlsson  <andersca@gnome.org>
+
+       * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
+       (shortcuts_remove_rows), (shortcuts_append_bookmarks),
+       (create_shortcuts_model), (shortcuts_tree_create),
+       (gtk_file_chooser_default_remove_shortcut_folder):
+       Improve bookmark list rendering by controlling the visibility
+       of the pixbuf cell so that it will be invisible for the separator
+       row, also use a list store instead of a tree store for the model
+       so we won't get unnecessary space for an expander.
+       
 Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcombobox.c: Add a destroy implementation in order to
index 395e6b3d057551b44afdbe62b6a2b403e945149a..1ed5bf681e3f979181f706ccec2edd48e341c3fa 100644 (file)
@@ -1,3 +1,14 @@
+2004-02-24  Anders Carlsson  <andersca@gnome.org>
+
+       * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
+       (shortcuts_remove_rows), (shortcuts_append_bookmarks),
+       (create_shortcuts_model), (shortcuts_tree_create),
+       (gtk_file_chooser_default_remove_shortcut_folder):
+       Improve bookmark list rendering by controlling the visibility
+       of the pixbuf cell so that it will be invisible for the separator
+       row, also use a list store instead of a tree store for the model
+       so we won't get unnecessary space for an expander.
+       
 Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcombobox.c: Add a destroy implementation in order to
index 395e6b3d057551b44afdbe62b6a2b403e945149a..1ed5bf681e3f979181f706ccec2edd48e341c3fa 100644 (file)
@@ -1,3 +1,14 @@
+2004-02-24  Anders Carlsson  <andersca@gnome.org>
+
+       * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
+       (shortcuts_remove_rows), (shortcuts_append_bookmarks),
+       (create_shortcuts_model), (shortcuts_tree_create),
+       (gtk_file_chooser_default_remove_shortcut_folder):
+       Improve bookmark list rendering by controlling the visibility
+       of the pixbuf cell so that it will be invisible for the separator
+       row, also use a list store instead of a tree store for the model
+       so we won't get unnecessary space for an expander.
+       
 Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcombobox.c: Add a destroy implementation in order to
index 395e6b3d057551b44afdbe62b6a2b403e945149a..1ed5bf681e3f979181f706ccec2edd48e341c3fa 100644 (file)
@@ -1,3 +1,14 @@
+2004-02-24  Anders Carlsson  <andersca@gnome.org>
+
+       * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
+       (shortcuts_remove_rows), (shortcuts_append_bookmarks),
+       (create_shortcuts_model), (shortcuts_tree_create),
+       (gtk_file_chooser_default_remove_shortcut_folder):
+       Improve bookmark list rendering by controlling the visibility
+       of the pixbuf cell so that it will be invisible for the separator
+       row, also use a list store instead of a tree store for the model
+       so we won't get unnecessary space for an expander.
+       
 Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcombobox.c: Add a destroy implementation in order to
index 395e6b3d057551b44afdbe62b6a2b403e945149a..1ed5bf681e3f979181f706ccec2edd48e341c3fa 100644 (file)
@@ -1,3 +1,14 @@
+2004-02-24  Anders Carlsson  <andersca@gnome.org>
+
+       * gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
+       (shortcuts_remove_rows), (shortcuts_append_bookmarks),
+       (create_shortcuts_model), (shortcuts_tree_create),
+       (gtk_file_chooser_default_remove_shortcut_folder):
+       Improve bookmark list rendering by controlling the visibility
+       of the pixbuf cell so that it will be invisible for the separator
+       row, also use a list store instead of a tree store for the model
+       so we won't get unnecessary space for an expander.
+       
 Tue Feb 24 01:08:27 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcombobox.c: Add a destroy implementation in order to
index dd7c1a6f65c0416264e8abf8211a0cdef34114f1..443dcd6c299e49b1ca6ecefef0d83c3d3358151a 100644 (file)
@@ -89,7 +89,7 @@ struct _GtkFileChooserDefault
   GtkWidget *hpaned;
 
   GtkFileSystemModel *tree_model;
-  GtkTreeStore *shortcuts_model;
+  GtkListStore *shortcuts_model;
   GtkFileSystemModel *list_model;
   GtkTreeModelSort *sort_model;
 
@@ -164,6 +164,7 @@ enum {
   SHORTCUTS_COL_NAME,
   SHORTCUTS_COL_PATH,
   SHORTCUTS_COL_REMOVABLE,
+  SHORTCUTS_COL_PIXBUF_VISIBLE,
   SHORTCUTS_COL_NUM_COLUMNS
 };
 
@@ -699,10 +700,14 @@ shortcuts_insert_path (GtkFileChooserDefault *impl,
       gtk_file_info_free (info);
     }
 
-  gtk_tree_store_insert (impl->shortcuts_model, &iter, NULL, pos);
+  if (pos == -1)
+    gtk_list_store_append (impl->shortcuts_model, &iter);
+  else
+    gtk_list_store_insert (impl->shortcuts_model, &iter, pos);
 
-  gtk_tree_store_set (impl->shortcuts_model, &iter,
+  gtk_list_store_set (impl->shortcuts_model, &iter,
                      SHORTCUTS_COL_PIXBUF, pixbuf,
+                     SHORTCUTS_COL_PIXBUF_VISIBLE, TRUE,
                      SHORTCUTS_COL_NAME, label_copy,
                      SHORTCUTS_COL_PATH, data,
                      SHORTCUTS_COL_REMOVABLE, removable,
@@ -851,7 +856,7 @@ shortcuts_remove_rows (GtkFileChooserDefault *impl,
          (* remove_fn) (impl, data);
        }
 
-      gtk_tree_store_remove (impl->shortcuts_model, &iter);
+      gtk_list_store_remove (impl->shortcuts_model, &iter);
     }
 
   gtk_tree_path_free (path);
@@ -930,9 +935,10 @@ shortcuts_append_bookmarks (GtkFileChooserDefault *impl)
 {
   GtkTreeIter iter;
 
-  gtk_tree_store_append (impl->shortcuts_model, &iter, NULL);
-  gtk_tree_store_set (impl->shortcuts_model, &iter,
+  gtk_list_store_append (impl->shortcuts_model, &iter);
+  gtk_list_store_set (impl->shortcuts_model, &iter,
                      SHORTCUTS_COL_PIXBUF, NULL,
+                     SHORTCUTS_COL_PIXBUF_VISIBLE, FALSE,
                      SHORTCUTS_COL_NAME, NULL,
                      SHORTCUTS_COL_PATH, NULL,
                      -1);
@@ -947,11 +953,12 @@ create_shortcuts_model (GtkFileChooserDefault *impl)
     g_object_unref (impl->shortcuts_model);
 
   /* Keep this order in sync with the SHORCUTS_COL_* enum values */
-  impl->shortcuts_model = gtk_tree_store_new (SHORTCUTS_COL_NUM_COLUMNS,
+  impl->shortcuts_model = gtk_list_store_new (SHORTCUTS_COL_NUM_COLUMNS,
                                              GDK_TYPE_PIXBUF,  /* pixbuf */
                                              G_TYPE_STRING,    /* name */
                                              G_TYPE_POINTER,   /* path or volume */
-                                             G_TYPE_BOOLEAN);  /* removable */
+                                             G_TYPE_BOOLEAN,   /* removable */
+                                             G_TYPE_BOOLEAN);  /* pixbuf cell visibility */
 
   if (impl->file_system)
     {
@@ -1376,7 +1383,7 @@ shortcuts_tree_create (GtkFileChooserDefault *impl)
 
   impl->shortcuts_tree = gtk_tree_view_new ();
   gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (impl->shortcuts_tree), FALSE);
-
+  
   gtk_drag_dest_set (impl->shortcuts_tree,
                     GTK_DEST_DEFAULT_ALL,
                     shortcuts_targets,
@@ -1414,6 +1421,7 @@ shortcuts_tree_create (GtkFileChooserDefault *impl)
   gtk_tree_view_column_pack_start (column, renderer, FALSE);
   gtk_tree_view_column_set_attributes (column, renderer,
                                       "pixbuf", SHORTCUTS_COL_PIXBUF,
+                                      "visible", SHORTCUTS_COL_PIXBUF_VISIBLE,
                                       NULL);
 
   renderer = _gtk_cell_renderer_sep_text_new ();
@@ -2737,7 +2745,7 @@ gtk_file_chooser_default_remove_shortcut_folder (GtkFileChooser    *chooser,
        {
          /* The other columns are freed by the GtkTreeStore */
          gtk_file_path_free (shortcut);
-         gtk_tree_store_remove (impl->shortcuts_model, &iter);
+         gtk_list_store_remove (impl->shortcuts_model, &iter);
          impl->num_shortcuts--;
          return TRUE;
        }